package proyecto.ABMCursos;

import javax.persistence.PostLoad;
import javax.persistence.PostPersist;
import javax.persistence.PostRemove;
import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreRemove;
import javax.persistence.PreUpdate;

public class CursoCallbackListener {
	@PrePersist
	public void doPrePersist(CursoBE curso)
	{
	   System.out.println("doPrePersist: About to create curso: " + curso.getNombre() + " " + curso.getDescripcion());
	}

	@PostPersist
	public void doPostPersist(Object curso)
	{
	   System.out.println("doPostPersist: Created curso: " + ((CursoBE)curso).getNombre() + " " + ((CursoBE)curso).getDescripcion());
	}

	@PreRemove
	public void doPreRemove(CursoBE curso)
	{
	   System.out.println("doPreRemove: About to delete curso: " + curso.getNombre() + " " + curso.getDescripcion());
	}

	   @PostRemove
	   public void doPostRemove(CursoBE curso)
	   {
	      System.out.println("doPostRemove: Deleted curso: " + curso.getNombre() + " " + curso.getDescripcion());
	   }

	   @PreUpdate
	   public void doPreUpdate(CursoBE curso)
	   {
	      System.out.println("doPreUpdate: About to update curso: " + curso.getNombre() + " " + curso.getDescripcion());
	   }

	   @PostUpdate
	   public void doPostUpdate(CursoBE curso)
	   {
	      System.out.println("doPostUpdate: Updated curso: " + curso.getNombre() + " " + curso.getDescripcion());
	   }

	   @PostLoad
	   public void doPostLoad(CursoBE curso)
	   {
	      System.out.println("doPostLoad: Loaded curso: " + curso.getNombre() + " " + curso.getDescripcion());
	   }

}
